Option Strict Off
Option Explicit On
Imports System.Net.Sockets
Module modDeclarations
    Public Structure Config_Class
        Dim sWelcome As String
        Dim sEventLog As String
        Dim sIP As String
        Dim iPort As Integer
        Dim iMissionLength As Integer
        Dim iDelay As Integer
        Dim iKicksAllowed As Integer
        Dim iDeath As Integer
        Dim iCapture As Integer
        Dim iBail As Integer
        Dim iRearm As Integer
        Dim iFlight As Integer
        Dim iMaxAC As Integer
        Dim iRadarRange As Integer
        Dim iSupBase As Integer
        Dim iValidFlight As Integer
        Dim iBlockPlt As Integer
        Dim lInter As Long
        Dim iBridge As Integer
        Dim tmAllowGnd As Integer
        Dim iWritePltFile As Integer
        Dim iDebug As Integer
        Dim stream As NetworkStream
        Dim client As TcpClient
        Dim recdata As String
        Dim iErrorTimeout As Integer
    End Structure
    Public Structure Mission_Class
        Dim bMissEnd As Boolean 'Mission has ended
        Dim bClosing As Boolean
        Dim bTimeAdded As Boolean
        Dim dbMissStartTime As Double
        Dim iDelayLeft As Short
        Dim iMissStart As Short 'Mission Start Time
        Dim iTimeLeft As Short
        Dim iObjSize As Short
        Dim iFlight As Short
        Dim iMaxAC As Short
        Dim iSeats As Short 'Number of seats per side
        Dim iLogCount As Short
        Dim iWaiting As Short
        Dim iRedSide As Short 'Number of Red Pilots
        Dim iBlueSide As Short 'Number of Blue Pilots
        Dim lLogLine As Integer
        Dim lLogSize As Integer
        Dim sPrevious As String
        Dim sProgram As String
        Dim sServer As String
        Dim sMission As String
        Dim sMissDir As String
        Dim sPropFile As String 'Properties File
        Dim sPilotSideFile As String 'File where pilot sides are stored
        Dim sSupplyLoad As String
        Dim sCfg_File As String
        Dim tmValid As Date
        Dim XOffset As Double
        Dim YOffset As Double
        Dim BlueSupplyBase As String
        Dim RedSupplyBase As String
    End Structure

    Public Structure Carry 'Transports
        Dim Main As String
        Dim Secondary As String
    End Structure
    Public Structure Squad_Class
        Dim Base As String
        Dim Coop As String
        Dim DF As String
        Dim Number As Short
        Dim Side As Short
        Dim Weapon As String
        Dim Suppressed As Short
        Dim FuelLimit As Short
        Dim X As Double
        Dim Y As Double
    End Structure
    Public Structure Infant_Class
        Dim Ident As String
        Dim Location As String
        Dim Status As Short
    End Structure
    Public Structure Pilot_Class
        Dim CallSign As String
        Dim Aircraft As String
        Dim Base As String
        Dim Side As Short
        Dim Kick As Short
        Dim Kicks As Short
        Dim LocX As Double
        Dim LocY As Double
        Dim HomeX As Double
        Dim HomeY As Double
        Dim Status As Short '0=not clear/1 = clear to takeoff/2 = inflight/3=Timed on Ground
        Dim tmFlight As Short
        Dim tmGround As Short
        Dim Seat As Short
        Dim Clear As Short 'Clear to Takeoff
        Dim SupplyMission As Short
        Dim InfantryMission As Short
        Dim Allow_Drop As Short
        Dim Squad As Short
        Dim IP As String
        Dim intSeat As Short
        Dim sKilled As String
        Dim iLanded As Short 'If the pilot landed in this sortie
        Dim iSuccess As Short 'Successful mission 0=Started mission/1=Killed Something/2=Successful Mission
        Dim sMessage As String
    End Structure
    Public Structure PilotData_Class 'Pilot Side Data
        Dim CallSign As String
        Dim Side As Short
        Dim IP As String
    End Structure
    
    Public Structure ObjectType
        Dim Vehicle As String
        Dim Class_Renamed As String
    End Structure

    Public Structure DestObj
        Dim Text As String
        Dim Side As Short
    End Structure
    
    Public Structure Airbase_Class 'Airbase_Classs, found in properties file
        Dim Location As String
        Dim X As Double
        Dim Y As Double
        Dim Radius As Double
        Dim Side As Short
        Dim Fuel As Short
        Dim Supplies As Short
        Dim Suppressed As Short
        Dim FuelLimit As Short
    End Structure
    Public Structure Marker_Class ' Front line Marker
        Dim X As Double
        Dim Y As Double
        Dim Side As Short
    End Structure
    Public Structure CarrierType 'Carriers to keep track of where they are
        Dim Airbase As Short
        Dim StartWP As Short
        Dim EndWP As Short
        Dim CurrentWP As Short
        Dim Speed As Single
        Dim RunTime As Short
        Dim LastX As Double
        Dim LastY As Double
        Dim XSpeed As Double
        Dim YSpeed As Double
    End Structure
    Public Structure CarrierWPType 'Carrier waypoints from mission file
        Dim X As Double
        Dim Y As Double
        Dim Speed As Single
    End Structure
    
End Module